// import Vue from 'vue';
// import Vuex from 'vuex';
import getters from './getters.js';
import userStore from './modules/user.js';
import appStore from './modules/app.js';
import permissionStore from './modules/permission.js';
import settingsStore from './modules/settings.js';
import tagsViewStore from './modules/tagsView.js';
// Vue.use(Vuex);
// https://webpack.js.org/guides/dependency-management/#requirecontext
// const modulesFiles = require.context('./modules', true, /\.js$/);

// you do not need `import app from './modules/app'`
// it will auto require all vuex module from modules file
// const modules = modulesFiles.keys().reduce((modules, modulePath) => {
//   const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1');
//   const value = modulesFiles(modulePath);
//   modules[moduleName] = value.default;
//   return modules;
// }, {});

const store = new Vuex.Store({
    modules: {
        userStore,
        appStore,
        permissionStore,
        settingsStore,
        tagsViewStore,
    },
    getters
});
